package main

import (
	"fmt"
	"github.com/spf13/viper"
	root "go-mq"
	"go.uber.org/zap"
)

var (
	cfg Config      // Server配置文件
	log *zap.Logger // 日志Logger
)

func Init() {
	// 1. 初始化配置文件
	InitConfigFile()

	// 2. 初始化日志
	log = root.InitZap(&cfg.ZapConfig)
}

func InitConfigFile() {
	v := viper.New()
	v.SetConfigType("yml")
	v.SetConfigName("server-config")
	v.AddConfigPath("./mq-server")

	if err := v.ReadInConfig(); err != nil {
		fmt.Printf("读取配置文件失败: %v\n", err)
		panic(err)
	}

	if err := v.Unmarshal(&cfg); err != nil {
		fmt.Printf("反序列化配置文件失败: %v\n", err)
		panic(err)
	}
}
